/**
 * 事件来源和目的地计算
 * 
 * 例如，字符串内容是`{abc}=='1'`，则triggerSrcList就是['abc']
 * 
 */


function extractVars(str:string):string[]{

    // 定义正则表达式(数字字母下划线)
    const regex = /\{([a-zA-Z0-9_]+)\}/g;

    // 用于存储匹配到的变量内容的数组
    const matches:string[] = [];
    let match;
    // 使用 while 循环进行全局匹配
    while ((match = regex.exec(str))!== null) {
        // 将匹配到的变量内容（即捕获组中的内容）添加到数组中
        matches.push(match[1]);
    }

    return matches
}

// 示例
const str = "{abc}+1==`__${{cde}}`";

const res=extractVars(str)
console.log(res) //  ['abc', 'cde']

